Recognizer y Prueba de Vida
POSThttps://api.apptenticate.com/api/v3.2/biometrics/recognizer/face/
POST
https://api.apptenticate.com/api/v3.2/biometrics/recognizer/persons/
Autenticación
Usa tu JWT obtenido del proceso de autenticación para hacer peticiones a este endpoint.
La respuesta sera 401 unauthorized si el JWT se encuentra vencido. En dicho caso deberás obtener un nuevo JWT.
Integración con Prueba de Vida
Nuestros servicios de Reconocimiento Facial y Creación de Persona ahora pueden incorporar la Prueba de Vida (Liveness), añadiendo una capa vital de seguridad a tus verificaciones. Si tienes activo el servicio de Liveness en tu cuenta, puedes enviar la imagen de la persona a reconocer o registrar con parámetros adicionales para que se realice una verificación de vida de forma automática.
Modalidades de Prueba de Vida:
• Prueba de Vida Estándar: Esta modalidad evalúa la autenticidad de la persona basándose únicamente en la imagen proporcionada. Es ideal para una verificación pasiva contra ataques de presentación simples, asegurando que la imagen no es una foto de una foto o una pantalla.
• Prueba de Vida Plus: Esta opción ofrece un nivel de seguridad superior. Además de la imagen, utiliza un archivo encriptado generado por nuestras librerías de captura. Esto permite detectar ataques de inyección y presentación más sofisticados, garantizando que la captura es real y no una suplantación fraudulenta.
Cuando integras la Prueba de Vida, considera el siguiente flujo:
• Si la Prueba de Vida retorna FALSE, la respuesta del servicio incluirá los resultados detallados de la verificación de vida, indicando si se detectó algún intento de spoofing (suplantación). Esto te permite tomar decisiones informadas y robustas, rechazando transacciones fraudulentas de inmediato.
• Si la Prueba de Vida retorna TRUE, el servicio continuará con su flujo natural (Reconocimiento Facial o Creación de Persona), indicando que la persona superó la prueba de vida satisfactoriamente.
Para obtener más detalles sobre cómo enviar los parámetros necesarios para la Prueba de Vida en tus solicitudes y explorar ejemplos de implementación, consulta la documentación específica de Liveness y Liveness Plus.
Ejemplo de request - método: POST / Crear persona
- Liveness
- Liveness Plus
# JWT Token
header = { 'Authorization': 'Bearer {}'.format(token) }
# Payload para request base
data = {'citizen_id': '1234', 'name': 'Qwerty'}
# Donde las imágenes son archivos .jpg o .png
files=[
('image',(unknow.jpeg',open('/D:/unknow.jpeg','rb'),'image/jpeg'))
]
apptenticate_url = "https://api.apptenticate.com/api/v3.2/biometrics/recognizer/persons/"
# Envío de request
response = requests.post(
apptenticate_url,
data=data,
files=files,
headers=header
)
response = json.loads(response.content)
Librería de captura: Consulta la documentación específica de Liveness Plus.
# JWT Token
header = { 'Authorization': 'Bearer {}'.format(token) }
# Payload para request con Liveness Plus
data = {'citizen_id': '1234', 'name': 'Qwerty'}
# Envía el archivo encriptado obtenido de la librería de captura
files=[
('encrypted_file',('encrypted_file.bin',open('/ruta/a/tu/encrypted_file.bin','rb'),'application/octet-stream'))
]
apptenticate_url = "https://api.apptenticate.com/api/v3.2/biometrics/recognizer/persons/"
# Envío de request
response = requests.post(
apptenticate_url,
data=data,
files=files,
headers=header
)
response = json.loads(response.content)
Ejemplo de request - método: POST / Reconocimiento Facial
- Liveness
- Liveness Plus
# JWT Token
header = { 'Authorization': 'Bearer {}'.format(token) }
# Payload para request base
data = {'citizen_id': '1234', 'name': 'Qwerty'}
# Donde las imágenes son archivos .jpg o .png
files=[
('image',(unknow.jpeg',open('/D:/unknow.jpeg','rb'),'image/jpeg'))
]
apptenticate_url = "https://api.apptenticate.com/api/v3.2/biometrics/recognizer/face/"
# Envío de request
response = requests.post(
apptenticate_url,
data=data,
files=files,
headers=header
)
response = json.loads(response.content)
Librería de captura: Consulta la documentación específica de Liveness Plus.
# JWT Token
header = { 'Authorization': 'Bearer {}'.format(token) }
# Payload para request con Liveness Plus
data = {'citizen_id': '1234', 'name': 'Qwerty'}
# Envía el archivo encriptado obtenido de la librería de captura
files=[
('encrypted_file',('encrypted_file.bin',open('/ruta/a/tu/encrypted_file.bin','rb'),'application/octet-stream'))
]
apptenticate_url = "https://api.apptenticate.com/api/v3.2/biometrics/recognizer/face/"
# Envío de request
response = requests.post(
apptenticate_url,
data=data,
files=files,
headers=header
)
response = json.loads(response.content)
Estructura de respuestas
- Liveness
- Liveness Plus
• Respuesta (False):
data: {
"valid": false,
"message": "Rostro muy reducido en pixeles",
"error_code": 706
}
• Respuesta (False):
data: {
"valid": false,
"error_code": 715,
"message": "Ataque detectado en la imagen enviada.",
"error_details": {
"capture_liveness": "Para un resultado positivo debe obtener 1, valor alcanzado: 0.0.",
"api_response": {
"face_liveness": {
"probability": 0.9607433
},
"capture_liveness": {
"score": 1.0851271,
"probability": 0.0
}
}
},
"id": 287
}